home *** CD-ROM | disk | FTP | other *** search
/ IRIX 6.2 Development Libraries / SGI IRIX 6.2 Development Libraries.iso / dist / complib.idb / usr / share / catman / p_man / cat3 / complib / dgeqpf.z / dgeqpf
Text File  |  1996-03-14  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. DDDDGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))                                                          DDDDGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      DGEQPF - compute a QR factorization with column pivoting of a real M-by-N
  10.      matrix A
  11.  
  12. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  13.      SUBROUTINE DGEQPF( M, N, A, LDA, JPVT, TAU, WORK, INFO )
  14.  
  15.          INTEGER        INFO, LDA, M, N
  16.  
  17.          INTEGER        JPVT( * )
  18.  
  19.          DOUBLE         PRECISION A( LDA, * ), TAU( * ), WORK( * )
  20.  
  21. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  22.      DGEQPF computes a QR factorization with column pivoting of a real M-by-N
  23.      matrix A: A*P = Q*R.
  24.  
  25.  
  26. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  27.      M       (input) INTEGER
  28.              The number of rows of the matrix A. M >= 0.
  29.  
  30.      N       (input) INTEGER
  31.              The number of columns of the matrix A. N >= 0
  32.  
  33.      A       (input/output) DOUBLE PRECISION array, dimension (LDA,N)
  34.              On entry, the M-by-N matrix A.  On exit, the upper triangle of
  35.              the array contains the min(M,N)-by-N upper triangular matrix R;
  36.              the elements below the diagonal, together with the array TAU,
  37.              represent the orthogonal matrix Q as a product of min(m,n)
  38.              elementary reflectors.
  39.  
  40.      LDA     (input) INTEGER
  41.              The leading dimension of the array A. LDA >= max(1,M).
  42.  
  43.      JPVT    (input/output) INTEGER array, dimension (N)
  44.              On entry, if JPVT(i) .ne. 0, the i-th column of A is permuted to
  45.              the front of A*P (a leading column); if JPVT(i) = 0, the i-th
  46.              column of A is a free column.  On exit, if JPVT(i) = k, then the
  47.              i-th column of A*P was the k-th column of A.
  48.  
  49.      TAU     (output) DOUBLE PRECISION array, dimension (min(M,N))
  50.              The scalar factors of the elementary reflectors.
  51.  
  52.      WORK    (workspace) DOUBLE PRECISION array, dimension (3*N)
  53.  
  54.      INFO    (output) INTEGER
  55.              = 0:  successful exit
  56.              < 0:  if INFO = -i, the i-th argument had an illegal value
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. DDDDGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))                                                          DDDDGGGGEEEEQQQQPPPPFFFF((((3333FFFF))))
  71.  
  72.  
  73.  
  74. FFFFUUUURRRRTTTTHHHHEEEERRRR DDDDEEEETTTTAAAAIIIILLLLSSSS
  75.      The matrix Q is represented as a product of elementary reflectors
  76.  
  77.         Q = H(1) H(2) . . . H(n)
  78.  
  79.      Each H(i) has the form
  80.  
  81.         H = I - tau * v * v'
  82.  
  83.      where tau is a real scalar, and v is a real vector with
  84.      v(1:i-1) = 0 and v(i) = 1; v(i+1:m) is stored on exit in A(i+1:m,i).
  85.  
  86.      The matrix P is represented in jpvt as follows: If
  87.         jpvt(j) = i
  88.      then the jth column of P is the ith canonical unit vector.
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.